Content Security Policy (CSP) একটি নিরাপত্তা বৈশিষ্ট্য যা ওয়েব পেজগুলির নিরাপত্তা বৃদ্ধি করতে সহায়ক। এটি ব্রাউজারকে নির্দেশ দেয় যে, কোন ধরনের কনটেন্ট (যেমন স্ক্রিপ্ট, ইমেজ, স্টাইলশীট) অনুমোদিত এবং কোনগুলো নয়। CSP মূলত Cross-Site Scripting (XSS) এবং data injection আক্রমণ প্রতিরোধ করতে ব্যবহৃত হয়।
CSP কনফিগার করার মাধ্যমে ওয়েবসাইটের মালিকরা নির্ধারণ করতে পারেন কোন রিসোর্সগুলো সাইটের উপর লোড হতে পারবে, এবং কোন রিসোর্সগুলো অবৈধ বা সন্দেহজনক। এটি একটি শক্তিশালী প্রতিরক্ষামূলক ব্যবস্থা, যা ব্রাউজারের মধ্যে সন্দেহজনক স্ক্রিপ্ট বা কোড চলতে দেয় না।
CSP কিভাবে কাজ করে?
CSP মূলত একটি HTTP হেডার হিসেবে কাজ করে, যা সার্ভার থেকে ব্রাউজারে পাঠানো হয়। ব্রাউজার সেই নির্দেশনা অনুযায়ী ওয়েব পেজে বিভিন্ন কনটেন্ট লোড করার সিদ্ধান্ত নেয়। একটি সাধারণ CSP হেডার দেখতে এরকম হতে পারে:
Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted-cdn.com; object-src 'none'; style-src 'self' https://trusted-style.com;এই CSP হেডারে:
- default-src 'self': শুধুমাত্র বর্তমান সাইটের উৎস থেকে কনটেন্ট লোড করা যাবে।
- script-src 'self' https://trusted-cdn.com: স্ক্রিপ্ট শুধুমাত্র বর্তমান সাইট এবং নির্দিষ্ট trusted-cdn.com থেকে লোড করা যাবে।
- object-src 'none': কোনো ধরনের প্লাগইন বা অবজেক্ট লোড করা যাবে না।
- style-src 'self' https://trusted-style.com: CSS স্টাইলশীট শুধুমাত্র বর্তমান সাইট এবং নির্দিষ্ট trusted-style.com থেকে লোড করা যাবে।
CSP এর গুরুত্ব
- XSS আক্রমণ প্রতিরোধ:
Cross-Site Scripting (XSS) আক্রমণগুলি সাইটের স্ক্রিপ্টগুলিকে ক্ষতিকর কোড দিয়ে প্রতিস্থাপন করে। CSP এক্ষেত্রে স্ক্রিপ্ট লোডের উৎস নিয়ন্ত্রণ করে এবং শুধুমাত্র নির্দিষ্ট, বিশ্বস্ত উৎসগুলির অনুমোদন দেয়, যার ফলে XSS আক্রমণের সুযোগ কমে যায়। - অবৈধ স্ক্রিপ্ট/কনটেন্ট ব্লক করা:
CSP এটি নিশ্চিত করে যে কোনো অবৈধ বা সন্দেহজনক স্ক্রিপ্ট সাইটে লোড হতে পারবে না। এটি সাইটে অ্যাড-ইন, ম্যালওয়্যার বা এমন স্ক্রিপ্ট ব্লক করতে সাহায্য করে যা ব্রাউজারের নিরাপত্তা বিপন্ন করতে পারে। - Data Injection আক্রমণ রোধ:
CSP সাইটে স্ক্রিপ্ট বা অন্যান্য কনটেন্ট ইনজেকশন থেকে রক্ষা করতে পারে, যা সাইটের কাজের মধ্যে হস্তক্ষেপ করতে পারে বা sensitive ডেটা চুরি করতে পারে। - নিরাপত্তা কনফিগারেশন সহজ করা:
CSP এর মাধ্যমে নিরাপত্তা কনফিগারেশন সোজা এবং কার্যকর করা যায়, কারণ এটি সাইটের কনটেন্ট লোড করার অনুমতি প্রদানের জন্য একটি কেন্দ্রীয় নিয়মাবলী নির্ধারণ করে। - ব্যবহারকারীর নিরাপত্তা:
CSP-এর মাধ্যমে ব্যবহারকারীর নিরাপত্তা বাড়ানো হয়, কারণ এটি সন্দেহজনক কোড বা কনটেন্ট লোড হতে বাধা দেয়, যা ব্যবহারকারীর তথ্য চুরি বা ক্ষতি করতে পারে। - SEO ও র্যাঙ্কিংয়ে সুবিধা:
Google এর মত সার্চ ইঞ্জিনগুলি সাইটের নিরাপত্তাকে গুরুত্ব দেয় এবং CSP সহ সাইটগুলিকে ভালভাবে মূল্যায়ন করতে পারে। এটি SEO র্যাঙ্কিংয়ে সহায়ক হতে পারে।
CSP কনফিগারেশন কিভাবে শুরু করবেন?
বেসিক CSP সেট করা:
একটি সিম্পল CSP হেডার হল:Content-Security-Policy: default-src 'self'এটি শুধু বর্তমান সাইটের থেকে কনটেন্ট লোড করার অনুমতি দেয়, অন্য কোথাও থেকে কিছু লোড করা যাবে না।
বিশেষ উৎস নির্ধারণ:
যদি আপনি নির্দিষ্ট উৎস থেকে কনটেন্ট লোড করতে চান, তবে আপনাকে সেই উৎসগুলিকে সুনির্দিষ্ট করতে হবে। উদাহরণস্বরূপ:Content-Security-Policy: default-src 'self'; script-src 'self' https://trusted-cdn.com;CSP Reporting:
CSP ভঙ্গ হলে রিপোর্ট করার জন্যreport-uriবাreport-toনির্দেশনা ব্যবহার করা যেতে পারে:Content-Security-Policy: default-src 'self'; report-uri /csp-violation-report-endpoint;এর মাধ্যমে CSP এর কোনো লঙ্ঘন ঘটলে সেই তথ্য নির্দিষ্ট URL-এ পাঠানো হবে।
সারাংশ
Content Security Policy (CSP) একটি অত্যন্ত গুরুত্বপূর্ণ নিরাপত্তা বৈশিষ্ট্য, যা Cross-Site Scripting (XSS) এবং data injection আক্রমণ প্রতিরোধে কার্যকরী ভূমিকা পালন করে। এটি ব্যবহারকারীর নিরাপত্তা নিশ্চিত করতে সাহায্য করে এবং ওয়েবসাইটের কনটেন্ট লোড করার প্রক্রিয়া নিয়ন্ত্রণ করে। CSP সঠিকভাবে কনফিগার করলে ওয়েবসাইটের নিরাপত্তা অনেকাংশে উন্নত হতে পারে এবং এটি SEO র্যাঙ্কিংয়ের জন্যও গুরুত্বপূর্ণ।
Read more